Methods and systems for delaying message notifications

ABSTRACT

Methods and systems are provided for delayed message notification associated with a content item. The system can receive a notification from a first user and intended for a second user, and can comprise a message, a content identifier, and a timestamp indicating a relative time within a content item associated with the content identifier. The system can transmit, to a device associated with the second user, a portion of the notification. In one implementation, the system can receive an indication that the second user&#39;s device is presenting the content item, and cause the message to be presented to the second.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.15/473,063, filed Mar. 29, 2017 which is herein incorporated in itsentirety.

BACKGROUND

Users often desire to share their impressions of viewed content withfriends/family. Often, the viewers will use their phone (or othercommunication device) to send messages relating to their impressions ofthe viewed content to friends/family. There may be some friends/family,however, that may view the same content at a later time, and aresensitive to receiving information related to the content prior toviewing themselves (e.g., they want to avoid so-called “spoilers”).Accordingly, viewers might avoid communicating and sharing theirimpressions. Alternatively viewers may use communication methods thatallow screening for spoilers, such as an email marked with a warning.However, this can disrupt a viewer's normal flow of communication. Theseand other shortcomings of the prior art are addressed by the presentdisclosure.

SUMMARY

It is to be understood that both the following general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive. Provided are methods and systems for providingcommunications.

In an aspect, communications can comprise one or more messages relatedto a content item (e.g., television show, movie, sporting event, etc. .. . ) being displayed or presented by a content display device. In someaspects, a user may wish to comment on an event (e.g., scene, plottwist, goal, etc. . . . ) that takes place within the content item, andto provide the comment to another viewer without “spoiling” the event;for example, if the other viewer has not yet watched the content item,or, is watching the content item, but has not yet viewed the event.Accordingly, a user who originates the comment can generate a messagethat that can be sent as a communication. The communication, and inparticular how it is created, packaged, transmitted and ultimatelypresented, allows the sending user to share one or more comments with arecipient without spoiling the event. In one aspect, the recipient canbe notified that the communication has been received, but withoutdisplaying the contents of the communication. In one implementation, therecipient's viewing behavior can be monitored and once it is determinedthat the recipient has viewed the event and/or the content itemassociated with the communication, the contents of the communication canbe displayed or otherwise presented to the recipient.

Additional advantages will be set forth in part in the description whichfollows or may be learned by practice. The advantages will be realizedand attained by means of the elements and combinations particularlypointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate embodiments and together with thedescription, serve to explain the principles of the methods and systems:

FIG. 1 is block diagram illustrating various aspects of an exemplarysystem;

FIG. 2 is an illustration of a sample interface;

FIG. 3A shows an example data flow in a system;

FIG. 3B shows an example data flow in a system;

FIG. 4 is a flowchart illustrating an example method;

FIG. 5 is a flowchart illustrating an example method;

FIG. 6 is a flowchart illustrating an example method;

FIG. 7 is a flowchart illustrating an example method; and

FIG. 8 is a block diagram illustrating an example computing device.

DETAILED DESCRIPTION

Before the present methods and systems are disclosed and described, itis to be understood that the methods and systems are not limited tospecific methods, specific components, or to particular implementations.It is also to be understood that the terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting.

As used in the specification and the appended claims, the singular forms“a,” “an” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another embodiment includes from the oneparticular value and/or to the other particular value. Similarly, whenvalues are expressed as approximations, by use of the antecedent“about,” it will be understood that the particular value forms anotherembodiment. It will be further understood that the endpoints of each ofthe ranges are significant both in relation to the other endpoint, andindependently of the other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includesinstances where said event or circumstance occurs and instances where itdoes not.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude, for example, other components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal embodiment. “Such as” is not used ina restrictive sense, but for explanatory purposes.

Disclosed are components that can be used to perform the disclosedmethods and systems. These and other components are disclosed herein,and it is understood that when combinations, subsets, interactions,groups, etc. of these components are disclosed that while specificreference of each various individual and collective combinations andpermutation of these may not be explicitly disclosed, each isspecifically contemplated and described herein, for all methods andsystems. This applies to all aspects of this application including, butnot limited to, steps in disclosed methods. Thus, if there are a varietyof additional steps that can be performed it is understood that each ofthese additional steps can be performed with any specific embodiment orcombination of embodiments of the disclosed methods.

The present methods and systems may be understood more readily byreference to the following detailed description of preferred embodimentsand the examples included therein and to the Figures and their previousand following description.

As will be appreciated by one skilled in the art, the methods andsystems may take the form of an entirely hardware embodiment, anentirely software embodiment, or an embodiment combining software andhardware aspects. Furthermore, the methods and systems may take the formof a computer program product on a computer-readable storage mediumhaving computer-readable program instructions (e.g., computer software)embodied in the storage medium. More particularly, the present methodsand systems may take the form of web-implemented computer software. Anysuitable computer-readable storage medium may be utilized including harddisks, CD-ROMs, optical storage devices, or magnetic storage devices.

Embodiments of the methods and systems are described below withreference to block diagrams and flowchart illustrations of methods,systems, apparatuses and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions which execute on the computer or other programmabledata processing apparatus create a means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

In various instances, this detailed description may refer to contentitems (which may also be referred to as “content,” “content data,”“content information,” “content asset,” or simply “data” or“information”). In some instances, content items can comprise anyinformation or data that may be licensed to one or more individuals (orother entities, such as business or group). In various embodiments,content may include electronic representations of video, audio, textand/or graphics, which may include but is not limited to electronicrepresentations of videos, movies, or other multimedia, which mayinclude but is not limited to data files adhering to MPEG, Adobe® Flash®Video (.FLV) format or some other video file format whether such formatis presently known or developed in the future. In various embodiments,the content items described herein may include electronicrepresentations of music, spoken words, or other audio, which mayinclude but is not limited to data files adhering to the MPEG-1 AudioLayer 3 (.MP3) format, Adobe® Sound Document (.ASND) format or someother format configured to store electronic audio whether such format ispresently known or developed in the future. In some cases, content mayinclude data files adhering to the following formats: Portable DocumentFormat (.PDF), Electronic Publication (.EPUB) format created by theInternational Digital Publishing Forum (IDPF), JPEG (.JPG) format,Portable Network Graphics (.PNG) format, Adobe® Photoshop® (.PSD) formator some other format for electronically storing text, graphics and/orother information whether such format is presently known or developed inthe future. In some embodiments, content items may include anycombination of the above-described examples.

In various instances, this detailed disclosure may refer to consumingcontent or to the consumption of content, which may also be referred toas “accessing” content, “providing” content, “viewing” content,“listening” to content, “rendering” content, or “playing” content, amongother things. In some cases, the particular term utilized may bedependent on the context in which it is used. For example, consumingvideo may also be referred to as viewing or playing the video. Inanother example, consuming audio may also be referred to as listening toor playing the audio.

Note that in various instances this detailed disclosure may refer to agiven entity performing some action. It should be understood that thislanguage may in some cases mean that a system (e.g., a computer) ownedand/or controlled by the given entity is actually performing the action.

The present disclosure relates to systems and methods for sending andreceiving a message, referred to herein as a communication, that canreact to content. A user device associated with a sending user (e.g., asending user device) can be configured to transmit the communication.The communication can comprise, for example, a message portion (e.g., atext message, a photograph, a video, etc.), a content identifieridentifying the content the sending user was viewing at a particulartime (e.g., a time at which the message was sent, a time at which thesending user began typing the message, etc.), a timestamp indicating arelative position within the content at the particular time, and anaddress indicating an intended recipient.

In some aspects, the communication can be transmitted from the sendinguser device via known messaging protocols. For example, thecommunication can be transmitted as a Short Message Service (SMS)message, a Multimedia Messaging Service (MMS) message, an email, aHyperText Transmission Protocol (HTTP) communication, or any otherelectronic messaging protocol.

In some aspects, the communication can be transmitted from the sendinguser device to an intermediate device, such as an IP media subsystem(IMS), a short message service center (SMSC), or the like. Theintermediate device can receive the communication from the sending userdevice. In some aspects, the intermediate device can store thecommunication and can transmit the communication to a user deviceassociated with a recipient user (e.g., a recipient user device) basedon fulfillment of one or more criteria (e.g., the communication can betransmitted to the recipient user device when any device associated withthe recipient user (e.g., a phone, tablet computer, laptop computer,television, set top box, etc.) displays content corresponding to thecontent identifier in the communication, when the device associated withthe recipient user reaches a timestamp corresponding to the time stampof the communication, and/or the like). In other aspects, theintermediate device can transmit the communication to the recipient userdevice in response to receiving the communication, and the recipientuser device can store the communication until a device associated withthe recipient user displays content corresponding to the contentidentifier in the communication and reaches a timestamp corresponding tothe time stamp of the communication, and/or the like.

In some aspects, a notification regarding the communication can betransmitted to the recipient user device of the intended the recipient,indicating that the recipient has received a communication. In someaspects, the notification can be transmitted via the intermediatedevice. In other aspects, the notification can be transmitted via adifferent path (e.g., directly from the sending user device to therecipient user device, via one or more different intermediate devices,and the like).

The notification can identify the sending user and/or the content itemassociated with the communication. In some aspects, the notification canbe transmitted substantially contemporaneously with transmission of thecommunication. In other aspects, the notification can be transmittedwhen the sending user device completes displaying the content.

The recipient user device can display the communication in response todisplaying at least a portion of the content item. For example, therecipient user device can display the communication in response to adevice associated with the recipient user displaying a portion of thecontent item corresponding to the time stamp. In some aspects, thecommunication can be displayed by the recipient user device in responseto the recipient user device or any other device associated with therecipient user displaying the content item, in response to the recipientuser device or any other device associated with the recipient userdisplaying a portion of the content item associated with the time stamp,in response to the recipient user device or any other device associatedwith the recipient user completing display of the content item, and/orthe like. In some aspects, displaying the communication can comprisedisplaying the communication using the same device that displays thecontent item (e.g., as an overlay on the content). In other aspects,displaying the communication can comprise displaying the communicationon a second screen device (e.g., a mobile phone, tablet computer, laptopcomputer, and/or the like).

FIG. 1 illustrates various aspects of an example system in which thepresent methods and systems can operate. Those skilled in the art willappreciate that the present methods may be used in systems that employboth digital and analog equipment. One skilled in the art willappreciate that provided herein is a functional description and that therespective functions can be performed by software, hardware, or acombination of software and hardware.

A system 100 can comprise a central location 101 (e.g., a headend),which can receive content (e.g., data, input programming, and the like)from multiple sources. The central location 101 can combine the contentfrom the various sources and can distribute the content to user (e.g.,subscriber) locations (e.g., location 119) via a distribution system116.

In an aspect, the central location 101 can receive content from avariety of sources 102 a, 102 b, 102 c. The content can be transmittedfrom the source to the central location 101 via a variety oftransmission paths, including wireless (e.g. satellite paths 103 a, 103b) and a terrestrial path 104. The central location 101 can also receivecontent from a direct feed source 106 via a direct line 105. Other inputsources can comprise capture devices such as a video camera 109 or aserver 110. The signals provided by the content sources can include asingle content item or a multiplex that includes several content items.

The central location 101 can comprise one or a plurality of receivers111 a, 111 b, 111 c, 111 d that are each associated with an inputsource. For example, MPEG encoders such as an encoder 112 are includedfor encoding local content or a video camera 109 feed. A switch 113 canprovide access to the server 110, which can be a Pay-Per-View server, adata server, an internet router, a network system, a phone system, andthe like. Some signals may require additional processing, such as signalmultiplexing, prior to being modulated. Such multiplexing can beperformed by a multiplexer (mux) 114.

The central location 101 can comprise one or a plurality of modulators115 for interfacing to a network 116. The modulators 115 can convert thereceived content into a modulated output signal suitable fortransmission over a network 116. The output signals from the modulators115 can be combined, using equipment such as a combiner 117, for inputinto the network 116. In an aspect, the network 116 can comprise acontent delivery network, a content access network, and/or the like. Forexample, the network 116 can be configured to provide content from avariety of sources using a variety of network paths, protocols, devices,and/or the like. The content delivery network and/or content accessnetwork can be managed (e.g., deployed, serviced) by a content provider,a service provider, and/or the like.

A control system 118 can permit a system operator to control and monitorthe functions and performance of the system 100. The control system 118can interface, monitor, and/or control a variety of functions,including, but not limited to, the channel lineup for the televisionsystem, billing for each user, conditional access for contentdistributed to users, and the like. The control system 118 can provideinput to the modulators for setting operating parameters, such as systemspecific MPEG table packet organization or conditional accessinformation. The control system 118 can be located at the centrallocation 101 or at a remote location.

The network 116 can distribute signals from the central location 101 touser locations, such as a user location 119. The network 116 cancomprise an optical fiber network, a coaxial cable network, a hybridfiber-coaxial network, a wireless network, a satellite system, a directbroadcast system, an Ethernet network, a high-definition multimediainterface network, universal serial bus network, or any combinationthereof.

In an aspect, a multitude of users can be connected to the network 116at one or more of the user locations. At the user location 119, a mediadevice 120 can demodulate and/or decode, if needed, the signals fordisplay on a display device 121, such as on a television set (TV) or acomputer monitor. For example, the media device 120 can comprise ademodulator, decoder, frequency tuner, and/or the like. The media device120 can be directly connected to the network (e.g., for communicationsvia in-band and/or out-of-band signals of a content delivery network)and/or connected to the network 116 via a communication terminal 122(e.g., for communications via a packet switched network). The mediadevice 120 can comprise a set-top box, a digital streaming device, agaming device, a media storage device, a digital recording device, acombination thereof, and/or the like. The media device 120 can compriseone or more applications, such as content viewers, social mediaapplications, news applications, gaming applications, content stores,electronic program guides, and/or the like. Those skilled in the artwill appreciate that the signal can be demodulated and/or decoded in avariety of equipment, including the communication terminal 122, acomputer, a TV, a monitor, or satellite dish.

In an aspect, the communication terminal 122 can be located at the userlocation 119. The communication terminal 122 can be configured tocommunicate with the network 116. The communications terminal 122 cancomprise a modem (e.g., cable modem), a router, a gateway, a switch, anetwork terminal (e.g., optical network unit), and/or the like. Thecommunications terminal 122 can be configured for communication with thenetwork 116 via a variety of protocols, such as internet protocol,transmission control protocol, file transfer protocol, sessioninitiation protocol, voice over internet protocol, and/or the like. Forexample, for a cable network, the communication terminal 122 can beconfigured to provide network access via a variety of communicationprotocols and standards, such as Data Over Cable Service InterfaceSpecification (DOCSIS).

In an aspect, the user location 119 can comprise a first access point123, such as a wireless access point. The first access point 123 can beconfigured to provide one or more wireless networks in at least aportion of the user location 119. The first access point 123 can beconfigured to provide access to the network 116 to devices configuredwith a compatible wireless radio, such as a mobile device 124, the mediadevice 120, the display device 121, or other computing devices (e.g.,laptops, sensor devices, security devices). For example, the firstaccess point 123 can provide a user managed network (e.g., local areanetwork), a service provider managed network (e.g., public network forusers of the service provider), and/or the like. It should be noted thatin some configurations, some or all of the first access point 123, thecommunication terminal 122, the media device 120, and the display device121 can be implemented as a single device.

In an aspect, the user location 119 may not be fixed. By way of example,a user can receive content from the network 116 on the mobile device124. The mobile device 124 can comprise a laptop computer, a tabletdevice, a computer station, a personal data assistant (PDA), a smartdevice (e.g., smart phone, smart apparel, smart watch, smart glasses),GPS, a vehicle entertainment system, a portable media player, acombination thereof, and/or the like. The mobile device 124 cancommunicate with a variety of access points (e.g., at different timesand locations or simultaneously if within range of multiple accesspoints). For example, the mobile device 124 can communicate with asecond access point 125. The second access point 125 can be a cellulartower, a wireless hotspot, another mobile device, and/or other remoteaccess point. The second access point 125 can be within range of theuser location 119 or remote from the user location 119. For example, thesecond access point 125 can be located along a travel route, within abusiness or residence, or other useful locations (e.g., travel stop,city center, park, etc.).

In an aspect, the system 100 can comprise an application server 126. Theapplication server 126 can be a computing device, such as a server. Theapplication server 126 can provide services related to applications. Forexample, the application server 126 can comprise an application store.The application store can be configured to allow users to purchase,download, install, upgrade, and/or otherwise manage applications. Forexample, the application server 126 can be configured to allow users todownload applications to a device, such as the mobile device 124,communications terminal 122, the media device 120, the display device121, and/or the like. The application server 126 can run one or moreapplication services to provide data, handle requests, and/or otherwisefacilitate operation of applications for the user.

In an aspect, the system 100 can comprise one or more content source(s)127. The content source(s) 127 can be configured to provide content(e.g., video, audio, games, applications, data) to the user. The contentsource(s) 127 can be configured to provide streaming media, such ason-demand content (e.g., video on-demand), content recordings, and/orthe like. For example, the content source(s) 127 can be managed by thirdparty content providers, service providers, online content providers,over-the-top content providers, and/or the like. The content can beprovided via a subscription, by individual item purchase or rental,and/or the like. The content source(s) 127 can be configured to providethe content via a packet switched network path, such as via an internetprotocol (IP) based connection. In an aspect, the content can beaccessed by users via applications, such as mobile applications,television applications, set-top box applications, gaming deviceapplications, and/or the like. An example application can be a customapplication (e.g., by content provider, for a specific device), ageneral content browser (e.g., web browser), an electronic programguide, and/or the like.

In an aspect, the system 100 can comprise an edge device 128. The edgedevice 128 can be configured to provide content, services, and/or thelike to the user location 119. For example, the edge device 128 can beone of a plurality of edge devices distributed across the network 116.The edge device 128 can be located in a region proximate to the userlocation 119. A request for content from the user can be directed to theedge device 128 (e.g., due to the location of the edge device and/ornetwork conditions). The edge device 128 can be configured to packagecontent for delivery to the user (e.g., in a specific format requestedby a user device), provide the user a manifest file (e.g., or otherindex file describing segments of the content), provide streamingcontent (e.g., unicast, multicast), provide a file transfer, and/or thelike. The edge device 128 can cache or otherwise store content (e.g.,frequently requested content) to enable faster delivery of content tousers.

In an aspect, the network 116 can comprise a network component 129. Insome aspects, the network component 129 can comprise an intermediatedevice. The intermediate device can comprise, for example, a computingdevice. As particular examples, the intermediate device can comprise oneor more of a short message service center (SMSC), an IP MultimediaSubsystem (IMS), and the like. The network component 129 can compriseany device, module, and/or the like communicatively coupled to thenetwork 116. For example, the network component 129 can comprise arouter, a switch, a splitter, a packager, a gateway, a encoder, astorage device, a multiplexer, a network access location (e.g., tap),physical link, and/or the like.

In some aspects, one or more of the display 121 or the mobile device 124can be used to create a communication. In some aspects, the display 121and/or the mobile device 124 can be used to enter a message for acommunication. In some aspects, the message can be entered using adefault messaging application present on the device (e.g., an SMSmessaging application on the mobile device 124) or a custom messagingapplication specifically designed for transmitting the communication.The mobile device 124 can further be used to identify a recipient of thecommunication. For example, the recipient can be identified using an IPaddress, a MAC address, a phone number, a social networking alias,and/or the like. Sending the message as a part of a communication cancomprise using an alternate method of causing the communication to betransmitted. For example, if a normal press of a send button causes amessage to be sent as an SMS message, a long press of the send buttoncan cause a message to be sent as a communication, the delivery of whichis managed as described herein. In some aspects, causing the message tobe sent as a communication can comprise causing the recipient to receivea notification of the communication.

In some aspects, when a message is sent as a communication, the devicesending the communication (e.g., the mobile device 124) can transmit thecommunication to the media device 120 (e.g., a terminal, set-top box, amedia device comprising a display device, smart phone, etc.). Forexample, the alternate method of causing the communication to betransmitted can cause the device sending the communication to transmitthe communication to the media device 120. Alternatively, the custommessaging application specifically designed for communication messagingcan cause the device sending the communication to transmit thecommunication to the media device 120. The media device 120 cansupplement the communication with additional information, such as acontent identifier identifying a content item being presented by themedia device and a timestamp indicating a relative time within thecontent item. The media device 120 can transmit the communication to thenetwork component 129. In other aspects, the communication can betransmitted directly to the network component 129 and one or more servercomputers in communication with the network component 129 can supplementthe communication with a content identifier identifying a content itembeing presented to the sending user and a timestamp indicating arelative time within the content item.

In some aspects, the network component 129 can be connected (e.g., viathe Internet) to a recipient of the communication. The network component129 can transmit at least a portion of the communication to therecipient device. In some aspects, the recipient device can compriseanother media device 120. The portion of the communication can comprise,for example, the content identifier, the sending user, and/or thetimestamp. The recipient media device 120 can cause display of the atleast the portion of the communication. For example, the at least theportion of the communication can be displayed at one or more of arecipient display 121 or a recipient mobile device 124. In some aspects,the recipient media device 120 can further cause display of a link tothe content associated with the content identifier.

In response to the recipient media device 120 causing display of thecontent associated with the communication notification (e.g., byclicking the link to the content item or by otherwise displaying thecontent item) the recipient media device 120 can provide an indicationto the network component 129. In some aspects, the indication can betransmitted in response to a query from the network component 129. Theindication can comprise, for example, one or more of a contentidentifier identifying the content being displayed and a timestampindicating a position within the content being displayed. In someaspects, when the content being displayed matches the content identifierof the communication notification and the timestamp transmitted by therecipient media device 120 meets or exceeds the timestamp of thecommunication, the network component 129 can transmit at least thecommunication of the communication to the recipient media device 120.The recipient media device 120 can cause display of the messagecomponent at, for example, one or more of a display (e.g., display 121)and a portable device (e.g., portable device 124).

In other aspects, the network component 129 can be connected (e.g., viathe Internet) to a recipient of the communication. The network component129 can transmit the communication to the recipient device. In someaspects, the recipient device can comprise another media device 120. Therecipient media device 120 can cause display of at least a portion ofthe received communication comprising, for example, the contentidentifier, the sending user, and/or the timestamp. For example, the atleast the portion of the communication can be displayed at one or moreof a recipient display 121 or a recipient mobile device 124. In someaspects, the recipient media device 120 can further cause display of alink to the content associated with the content identifier.

In response to the recipient media device 120 causing display of thecontent associated with the communication notification (e.g., byclicking the link to the content item or by otherwise displaying thecontent item) the recipient media device 120 can periodically determinea timestamp indicating a position within the content being displayed. Insome aspects, when the content being displayed matches the contentidentifier of the communication notification and the determinedtimestamp meets or exceeds the timestamp of the communication, therecipient media device 120 can cause display of the communicationcomponent of the communication at, for example, one or more of a display(e.g., display 121) and a portable device (e.g., portable device 124).

FIG. 2 shows an example interface 200 for a received notification 202associated with a communication, indicating that a user has received acommunication from “User A”. In some aspects, the received notification202 can comprise, for example, a content identifier 204. The contentidentifier 204 can comprise one or more of a text description of thecontent and an image indicating a content item associated with thecommunication. For example, FIG. 2 shows a content identifier 204comprising an image (e.g., a show logo or title screen) and a textdescription indicating that the content item is “Mad Men Season 3Episode 11.” The received communication notification 202 can furthercomprise a timestamp 206 indicating a relative position within thecontent item. As an example, FIG. 2 shows a timestamp 206 of 11:34,indicating that the communication is regarding an event that takes place11 minutes and 34 seconds into the content item. The receivedcommunication notification 202 can further comprise a link 208 to thecontent item identified by the content identifier 204. In some aspects,the link, when activated by a user, can cause display of the contentitem on the device used to activate the link (e.g., in response to auser activating a link using a smartphone, playback of the content itemis initiated on the smartphone). In other aspects, activation of thelink can cause a user device (e.g., media device 120) to display orotherwise present the content item. For example, in response to the useractivating a link using a smartphone associated with the user, thecontent item can be displayed on a display connected to a set top boxassociated with the user. In some aspects, causing the content item tobe displayed can comprise causing the content item to be displayed froma beginning of the content item. In other aspects, causing the contentitem to be displayed can comprise causing the content item to bedisplayed from the timestamp.

FIG. 3A shows an example data flow 300 in a system. At 302, a user cancompose a communication from a transmitting user device. In someaspects, the communication can be composed at a primary display device(e.g., the media device 120). In other aspects the communication can becomposed using a secondary display device (e.g., the mobile device 124).In an aspect, composing the communication can comprise entering amessage. The message can comprise a text message, an image, an audiomessage (e.g., from a voice remote control device), a video message,and/or the like. The transmitting user device can determine a contentidentifier associated with current content being displayed and a currenttimecode (e.g., a time offset from a beginning of the content item). Theuser can further specify a recipient of the communication using anaddress (e.g., an IP address, a MAC address, a telephone number, asocial networking account name, an email address, a handle, and/or thelike) of an intended recipient device. At 304, the transmitting userdevice can send the communication to an intermediate device (e.g., thenetwork component 129), such as a Short Message Service Center (SMSC)and/or an Internet Multimedia Subsystem (IMS) capable of receivingmessages such as SMS and/or MMS messages from a device. The intermediatedevice can store the communication.

In some aspects, the intermediate device can transmit a notification tothe recipient device at 306. The notification can comprise, for example,the content identifier and/or a link to the content.

The intermediate device can monitor a recipient device (e.g., the devicespecified in the communication) to determine if the communication shouldbe transmitted to the recipient device. The communication is transmittedto the recipient device after the recipient device has displayed orotherwise presented the timecode and the content item identified in thecommunication. At 304, the intermediate device can request dataindicating the content item and timecode being presented by therecipient device. In some aspects, the intermediate device can requestthe data periodically (e.g., the intermediate device can poll therecipient device).

At 308, the recipient device can provide data to the intermediate devicein response to the request. The provided data can comprise at least acontent identifier associated with a content item currently beingdisplayed or otherwise presented at the recipient device. The provideddata can further comprise a timecode indicating an offset relative to abeginning of the content item.

The intermediate device can compare the received data to the contentidentifier and the timecode stored in the communication. If the contentidentifier and/or the timecode indicates that the recipient device hasnot yet displayed the portion of the content associated with thecommunication, then no action is taken by the intermediate device andthe intermediate device can continue to poll the recipient device. Ifthe content identifier and/or the timecode indicates that the recipientdevice has displayed the portion of the content associated with thecommunication (e.g., the content identifier from the recipient devicematches the content identifier in the communication and the timecodefrom the recipient device substantially matches the timecode in thecommunication), the intermediate device can cause display of thecommunication to the recipient device at 310.

FIG. 3B shows an example data flow 320 in a system. At 322, a user(e.g., a sending user) can watch content. In some aspects, the contentcan be present for watching by the user at a primary display device(e.g., the media device 120). The content can be associated with acontent identifier. For example, the content identifier can comprise oneor more of a title, a season and/or episode number, and/or any otherunique identifier. The content can also comprise a timecode indicatingan offset from a beginning of the content. At 324, the contentidentifier and the timecode can be exposed. For example, an applicationprogram interface (API) used to present the content can also provideaccess to the content identifier and/or the timecode to one or moredevices associated with the user (e.g., the mobile device 124).

At 326, a user can compose a communication from a user device. In someaspects, the communication can be composed using a secondary displaydevice (e.g., the mobile device 124). In an aspect, composing thecommunication can comprise entering a message. The message can comprisea text message, an image, an audio message (e.g., from a voice remotecontrol device), a video message, and/or the like. The user can furtherspecify a recipient of the communication using an address (e.g., an IPaddress, a MAC address, a telephone number, a social networking accountname, an email address, a handle, and/or the like) of an intendedrecipient device. At 328, the user can indicate that the message is tobe sent as a communication, the delivery of which is managed asdescribed herein. For example, when a regular tap of a send icon wouldresult in sending the message as a traditional SMS or MMS message, along press can be used to indicate that the message is to be sent as acommunication, the delivery of which is managed as described herein. Inother aspects, distinct messaging applications can be used to send SMSand/or MMS messages and communications.

At 330, the transmitting user device can determine whether a contentidentifier associated with current content being displayed and a currenttimecode (e.g., a time offset from a beginning of the content item) areknown. For example, the content identifier and the timecode can beaccessed via the API from 324. If the content identifier and thetimecode are known, the communication can be selected at step 332. Thecommunication can be transmitted at step 334. In some aspects,transmitting the communication can comprise sending the communication toan intermediate device (e.g., the network component 129), such as aShort Message Service Center (SMSC) and/or an Internet MultimediaSubsystem (IMS) capable of receiving messages such as SMS and/or MMSmessages. In some aspects, transmitting the communication can furthercomprise transmitting a communication notification to the recipient ofthe communication. The communication notification can identify thesending user and/or the content item associated with the communication.In some aspects, the communication notification can be transmitted viathe intermediate device. In other aspects, the communicationnotification can be transmitted via a different path (e.g., directlyfrom the sending user device to the recipient user device, via one ormore different intermediate devices, and the like).

At 336, the recipient device (e.g., the secondary display device) canreceive the communication notification. In some aspects, receiving thecommunication notification can comprise displaying the communicationnotification. For example, at least the sender and the contentidentifier can be displayed at the recipient device. In some aspects,the communication notification can be a message to the receiving userthat indicates a communication has been sent to the receiving user, butnot actually displaying the message of the communication.

At 338, the intermediate device can receive and hold the communication.The intermediate device can hold the communication indefinitely untilone or more criteria are met. For example, the intermediate device canhold the communication until the recipient views content associated withthe content identifier and timecode of the communication. At 340 therecipient user can be viewing content. The content can be associatedwith a content identifier. For example, the content identifier cancomprise one or more of a title, a season and/or episode number, and/orany other unique identifier. The content can also comprise a timecodeindicating an offset from a beginning of the content. At 342, thecontent identifier and the timecode associated with the content beingwatched by the recipient can be exposed. For example, an API used topresent the content to the recipient can also provide access to thecontent identifier and/or the timecode to one or more devices associatedwith the user (e.g., the mobile device 124).

At 344, it can be determined whether the content identifier and timecodeassociated with the content being watched by the recipient correspondsto the content identifier and timecode of the communication. In someaspects, the determination can be made periodically. In some aspects,the determination can be made at the intermediate device. For example,the intermediate device can monitor the content being watched by therecipient. In other aspects, the determination can be made at arecipient device (e.g., the media device 120).

When the content identifier associated with the content being watched bythe recipient matches the content identifier of the communication andthe timecode associated the content being watched by the recipient meetsor exceeds the timecode of the communication, the communication can bedelivered to the recipient at 346. In some aspects, delivering thecommunication to the recipient can comprise delivering the communicationto the primary display device (e.g., the media device 120) and/or thesecondary display device (e.g., the mobile device 124). At 348, theprimary display device can receive the communication. In some aspects,receiving the communication at the primary display device can comprisedisplaying at least a portion of the communication. The portion of thecommunication to be displayed can comprise at least the message. At 350,the secondary display device can receive the communication. In someaspects, receiving the communication at the secondary display device cancomprise displaying at least a portion of the communication. The portionof the communication to be displayed can comprise at least the message.

FIG. 4 shows an example method 400. At step 402, a server can receive,from a first user device, a communication. In some aspects, the servercan comprise one or more intermediate devices (e.g., an SMSC and/or anIMS). The first user device can comprise a computing device associatedwith (e.g., controlled by, owned/rented by, etc.) a first user. In someaspects, the communication can be received directly from the first userdevice. In other aspects, the communication can be received from thefirst user device via one or more intermediate devices, such as an SMSC,an IMS, and/or the like. In some aspects, the communication can beaddressed to a second user device, for example a computing deviceassociated with (e.g., controlled by, owned/rented by, etc.) a seconduser. For example, the communication can comprise an address (e.g., anIP address, a MAC address, a telephone number, a social networkingaccount name, and/or the like) of an intended recipient device (e.g.,the second user device). In some aspects, the communication can comprisea message (e.g., a text message, an image, an audio message (e.g., froma voice remote control device), a video message, and/or the like), acontent identifier (e.g., an identifier associated with a content itemfrom a content provider), and/or a timestamp indicating a positionwithin the content item associated with the content identifier. In someaspects, the content identifier can further comprise a link to thecontent item.

In some aspects, the communication can be received by the server inresponse to the first user device completing display of the contentitem. For example, when the content comprises linear content (e.g., alive television program) the communication can be sent from the firstuser device to the server after the linear program has completed airing.In other aspects, the communication can be transmitted to the serversubstantially immediately upon creation of the communication by thefirst user device.

Optionally, at least a portion of the communication can be transmittedto the second user device in response to the server receiving thecommunication. As an example, the portion of the communication cancomprise the content identifier and/or the timestamp. In some aspects,the communication (or a portion thereof) can comprise the entirecommunication. In some aspects, transmitting the at least the portion ofthe communication to the second user device can cause the second userdevice to display the content identifier at the second user device. Insome aspects, transmitting the at least the portion of the communicationto the second user device can cause the second user device to displaythe content identifier and the timestamp at the second user device.

At step 404, the server can access or receive an indication that thesecond user device is presenting the content item associated with thecontent identifier. As a particular example, the intermediate device canreceive the indication from the second user device. In some aspects, theindication can be received from the second user device. In otheraspects, the indication can be received from the intermediate device. Insome aspects, the indication can comprise additional information, suchas a current position in the content item.

At step 406, the server can monitor the current position in the contentitem being presented by the second user device. The monitoring can beperiodic or substantially continuous. In some aspects, to perform themonitoring function, the server can receive data related to whether ornot the second user device has accessed or presented the content item.The data can be received or accessed periodically (e.g., once perminute), and can comprise the indication that the content item is beingconsumed. In other aspects, the server can receive the indication inresponse to a request to provide an indication transmitted from theserver to the second user device. For example, the server can transmitthe request to provide the indication regularly (e.g., poll) to thesecond user device.

In some aspects, a polling period can be determined based on one or moreof: whether the second user is watching content, whether the second useris watching the content item that matches the content indicated by thecommunication, and whether the position within the content item that thesecond user is watching is beyond the position of the communication. Ifthe second (e.g., receiving) user is not watching any content, thenthere would be no polling period (e.g., polling period is set to zero).If the second user is watching content that does not match the contentitem indicated by the communication the polling period can be set to,for example, approximately 1-10 minutes, and approximately 10 secondsafter the second user begins watching a new content item. If the seconduser is watching content that matches the content item indicated by thecommunication, the polling period can be set to approximately 3-5seconds. In some aspects, if the second user is watching content thatmatches the content item indicated by a communication and the positionwithin the content item that the second user is watching is beyond theposition of the communication, the polling period can be set to 0.

In some aspects, the monitoring can comprise the server determiningwhether the second user device has displayed a portion of the contentitem associated with the timestamp. In some aspects, the determinationcan be based on, for example, the current position in the content item.As a particular example, the determination can comprise comparing theposition in the communication to the current position.

At step 408, the server can transmit the communication to the seconduser device in response to determining that the second user device hasdisplayed or otherwise presented the portion of the content itemassociated with the position of the communication. In some aspects, thecommunication can be displayed on the second user device in response tothe communication being transmitted to the second user device.Displaying the communication can comprise one or more of displaying atext message, displaying an image, displaying an audio message, anddisplaying a video message. For example, at least the portion of thecommunication comprising the message can be displayed or otherwisepresented in response to determining that the second user device hasdisplayed or presented the portion of the content associated with thecommunication.

FIG. 5 shows an example method 500. At step 502, a server can receive,from a first user device associated with a first user, a communication.In some aspects, the server can comprise, for example, one or moreintermediate devices such as an SMSC and/or an IMS. In some aspects, thecommunication can comprise user account information associated with asecond recipient user. For example, the user account information cancomprise an IP address and/or a MAC address associated with the a deviceused by the second user, a telephone number associated with the seconduser, a social networking account name associated with the second user,and/or the like The communication can further comprise a message, suchas a text message, an image, an audio message, a video message, or thelike. The communication can further comprise a content identifierassociated with a content item (e.g., an identifier associated with acontent item from a content provider) and/or a position of an eventwithin the content item associated with the content identifier. In someaspects, the content identifier can further comprise a link to thecontent item.

At step 504, the server can determine recipient device informationassociated with the recipient user account information of thecommunication. The recipient device information can comprise, forexample, a first address (e.g., an IP address, a MAC address, and/or thelike) corresponding to a primary recipient display device (e.g., a settop box, a smart television, etc.) and a second address (e.g., an IPaddress, a MAC address, a telephone number, and/or the like)corresponding to a secondary recipient display device (e.g., a mobilephone, tablet computer, laptop computer, and/or the like).

Optionally, the server can transmit at least a portion of thecommunication to the primary recipient display device and/or thesecondary recipient display device. As examples, the at least theportion of the communication can comprise the content identifier and/orthe timestamp. In some aspects, the at least the portion of thecommunication can comprise the entire communication. In some aspects,transmitting the at least the portion of the communication to theprimary recipient display device and/or the secondary recipient displaydevice can cause the at least the portion of the communication to bedisplayed on one or more of the primary recipient display device and/orthe secondary recipient display device. For example, transmitting the atleast the portion of the notification to the primary recipient displaydevice can cause the primary recipient display device to display thecontent identifier and the timestamp; transmitting the at least theportion of the notification to the secondary recipient display devicecan cause the secondary recipient display device to display the contentidentifier and the timestamp.

In some aspects, the communication can be transmitted to the server inresponse to the first user device completing display of the contentitem. In other aspects, the communication can be transmitted from thefirst user device to the server substantially immediately upon creationof the communication by the first user device.

At step 506, the server can receive an indication that the primaryrecipient display device is displaying or otherwise presenting thecontent item associated with the content identifier in thecommunication. In an aspect, the server can receive the indication fromthe primary recipient display device. In some aspects, the indicationcan be received directly from the primary recipient display device. Inother aspects, the indication can be received from an intermediatedevice. In some aspects, the indication can comprise additionalinformation, such as a current position in the content item.

At step 508, the server can monitor the current position in the contentitem presented by the primary recipient display device. The monitoringcan be periodic or substantially continuous. In some aspects, to performthe monitoring function, the server can receive data related to whetheror not the primary recipient display device has accessed or presentedthe content item. The data can be received or accessed periodically(e.g., once per minute), and can comprise the indication that thecontent item is being consumed. In other aspects, the server can receivethe data in response to a request to provide the data transmitted fromthe server to the primary recipient display device. For example, theserver can transmit the request to provide the indication regularly(e.g., poll) to the primary recipient display device.

In some aspects, a polling period can be determined based on one or moreof: whether the second user is watching content, whether the second useris watching the content item that matches the content indicated by thecommunication, and whether the position within the content item that thesecond user is watching is beyond the position of the communication. Ifthe second (e.g., receiving) user is not watching any content, thenthere would be no polling period (e.g., polling period is set to zero).If the second user is watching content that does not match the contentitem indicated by the communication the polling period can be set to,for example, approximately 1-10 minutes, and approximately 10 secondsafter the second user begins watching a new content item. If the seconduser is watching content that matches the content item indicated by thecommunication, the polling period can be set to approximately 3-5seconds. In some aspects, if the second user is watching content thatmatches the content item indicated by a communication and the positionwithin the content item that the second user is watching is beyond theposition of the communication, the polling period can be set to 0.

The monitoring can further determine whether the primary recipientdisplay device has displayed the portion of the content item associatedwith the event. In some aspects, the determination can be based on, forexample, the current position in the content item and the position ofthe event. As a particular example, the determination can comprisecomparing the position of the event to the current position (e.g., theposition received from polling the primary recipient display device).

At step 510, the server can cause at least the communication to bedisplayed or otherwise presented by the at least the secondary recipientdisplay device in response to determining that the primary recipientdisplay device has displayed the portion of the content item associatedwith the event. In some aspects, causing the communication to bedisplayed can comprise one or more of causing display of a text message,displaying an image, displaying an audio message, and displaying a videomessage. In some aspects, causing the communication to be displayed canfurther comprise causing the communication to be displayed on theprimary recipient display device. In other aspects, causing thecommunication to be displayed can comprise causing the message to bedisplayed only by the secondary recipient display device.

FIG. 6 shows an example method 600. At step 602, a user device canreceive a communication. In some aspects, the communication can bereceived from an intermediate device such as a message server (e.g., anSMSC and/or and IMS). The communication can comprise a communication anda content identifier associated with a content item. In some aspects,the content identifier can further comprise a link to the content item.In some aspects, the communication can further comprise a position of anevent within a content item associated with the content identifier. Insome aspects, the user device can display at least a portion of thereceived communication in response to receiving the communication. Forexample, the user device can display the content identifier and/or theposition of the event in response to receiving the communication.

At step 604, the user device can determine whether the user device ispresenting (e.g., playing, displaying, etc.) the content item. In someaspects, determining whether the user device is presenting the contentitem can be based on the content identifier of the communication. Forexample, determining whether the user device is presenting the contentitem can comprise comparing a content identifier of the content itemcurrently being presented by the user device to the content identifierof the communication. In some aspects, the user device can determinewhether the user device is displaying the content item periodically.

At step 606, the user device can monitor the current position in thecontent item presented by the user device. The monitoring can beperiodic or substantially continuous. In some aspects, to perform themonitoring function, the user device can determine whether or not theprimary recipient display device has accessed or presented the contentitem. The user device can make the determination periodically. In otheraspects, the user device can provide data indicating the currentposition of the content item to a server. The data can be providedperiodically (e.g., once per minute), and can comprise the indicationthat the content item is being consumed. In other aspects, the userdevice can provide the data in response to receiving a request toprovide the data transmitted from the server. For example, the serve cantransmit the request to provide the indication regularly (e.g., poll) tothe user device.

In some aspects, a polling period can be determined based on one or moreof: whether the user is watching content, whether the user is watchingthe content item that matches the content indicated by thecommunication, and whether the position within the content item that theuser is watching is beyond the position of the communication. If theuser is not watching any content, then there would be no polling period(e.g., polling period is set to zero). If the user is watching contentthat does not match the content item indicated by the communication thepolling period can be set to, for example, approximately 1-10 minutes,and approximately 10 seconds after the second user begins watching a newcontent item. If the second user is watching content that matches thecontent item indicated by the communication, the polling period can beset to approximately 3-5 seconds. In some aspects, if the second user iswatching content that matches the content item indicated by acommunication and the position within the content item that the seconduser is watching is beyond the position of the communication, thepolling period can be set to 0.

At step 608, the user device can determine whether the user device haspresented a portion of the content item associated with the event. Insome aspects, determining whether the user device has presented theportion of the content item associated with the event can be performedin response to determining that the user device is displaying thecontent item in step 604 and/or the current position of the content itembeing displayed determined in step 606. Determining whether the userdevice has presented a portion of the content item associated with theevent can be performed based on a current position within the contentitem. For example, the current position within the content item can becompared with the position of the event. In some aspects, thedetermination can be repeated periodically. For example, thedetermination can be repeated approximately once every 3-5 seconds.

At step 610, the user device can cause display of the at least a portionof the communication in response to determining that the user device haspresented the portion of the content item associated with the event. Insome aspects, causing display of the at least the portion of thecommunication can comprise causing display of at least the message. Insome aspects, causing display of the at least the portion of thecommunication can comprise displaying the at least the portion of thecommunication on the user device. In other aspects, causing display ofthe at least the portion of the communication can comprise transmittingan instruction to display the at least the portion of the communicationto a device associated with the user device. For example, the deviceassociated with the user device can comprise a smartphone, a tabletcomputer, a laptop computer, and/or the like. In some aspects,displaying the message can comprise one or more of displaying a textmessage, displaying an image, displaying an audio message, anddisplaying a video message.

FIG. 7 shows an example method 700. At step 702, a computing device canreceive a signal to create a communication. In some aspects, thecomputing device can comprise a message server (e.g., an SMSC and/or andIMS). In some aspects, the signal can be generated by a user using analternate method of causing a message to be transmitted. For example, ifa normal press of a send button in a messaging application causes amessage to be sent as an SMS message, a long press of the send buttoncan cause a message to be sent as a communication, the delivery of whichis managed as described herein. In some aspects, the signal can begenerated by a custom messaging application running on a user device.

At step 704, the computing device can determine a content ID associatedwith a content item currently displayed to the user. In some aspects,determining the content ID can comprise receiving an indication of thecontent ID from the user device. In other aspects, determining thecontent ID can comprise querying a content server to determine contentcurrently being provided to the user.

At step 706, the computing device can determine a timestamp associatedwith a current position in the content item. In some aspects,determining the timestamp can comprise receiving a timestamp from theuser device. In other aspects, determining the timestamp can comprisequerying the content server to determine a position in the content item.The timestamp can comprise a time indicative of, for example, a positionwithin the content item when the signal to create the communication wastransmitted to the computing device, a position within the content itemwhen the user began creating the communication, a position within thecontent item when the computing device transmitted the query to thecontent server, and/or the like.

At step 708, the computing device can receive a message from the userdevice. In some aspects, the message can comprise, for example, a textmessage, a picture, a video message, and/or an audio message. In someaspects the message can be received as a part of the signal to createthe communication. In other aspects, the communication can be receivedafter the signal to create the communication.

At step 710, the computing device can assemble the communication. Forexample, the system can concatenate or otherwise bundle at least thecontent ID, the timestamp, and the message. The computing device canfurther determine an intended recipient of the communication. Forexample, the computing device can receive an address (e.g., an IPaddress, a MAC address, telephone number, social networking accountname, and/or the like) of a recipient user device.

At step 712, the computing device can transmit at least a portion of thecommunication to the recipient user device. In an aspect, transmittingthe at least a portion of the communication can comprise transmittingthe message. In other aspects, transmitting the at least a portion ofthe communication can comprise transmitting the entire communication.

In an aspect, the methods and systems can be implemented on a computer801 as illustrated in FIG. 8 and described below. The methods andsystems disclosed can utilize one or more computers to perform one ormore functions in one or more locations. FIG. 8 is a block diagramillustrating an exemplary operating environment for performing thedisclosed methods. This exemplary operating environment is only anexample of an operating environment and is not intended to suggest anylimitation as to the scope of use or functionality of operatingenvironment architecture. Neither should the operating environment beinterpreted as having any dependency or requirement relating to any oneor combination of components illustrated in the exemplary operatingenvironment.

The present methods and systems can be operational with numerous othergeneral purpose or special purpose computing system environments orconfigurations. Examples of well known computing systems, environments,and/or configurations that can be suitable for use with the systems andmethods comprise, but are not limited to, personal computers, servercomputers, laptop devices, and multiprocessor systems. Additionalexamples comprise set top boxes, programmable consumer electronics,network PCs, minicomputers, mainframe computers, distributed computingenvironments that comprise any of the above systems or devices, and thelike.

The processing of the disclosed methods and systems can be performed bysoftware components. The disclosed systems and methods can be describedin the general context of computer-executable instructions, such asprogram modules, being executed by one or more computers or otherdevices. Generally, program modules comprise computer code, routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Thedisclosed methods can also be practiced in grid-based and distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules can be located inboth local and remote computer storage media including memory storagedevices.

Further, one skilled in the art will appreciate that the systems andmethods disclosed herein can be implemented via a general-purposecomputing device in the form of a computer 801. The components of thecomputer 801 can comprise, but are not limited to, one or moreprocessors 803, a system memory 812, and a system bus 813 that couplesvarious system components including the one or more processors 803 tothe system memory 812. The system can utilize parallel computing.

The system bus 813 represents one or more of several possible types ofbus structures, including a memory bus or memory controller, aperipheral bus, an accelerated graphics port, or local bus using any ofa variety of bus architectures. By way of example, such architecturescan comprise an Industry Standard Architecture (ISA) bus, a MicroChannel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a VideoElectronics Standards Association (VESA) local bus, an AcceleratedGraphics Port (AGP) bus, and a Peripheral Component Interconnects (PCI),a PCI-Express bus, a Personal Computer Memory Card Industry Association(PCMCIA), Universal Serial Bus (USB) and the like. The bus 813, and allbuses specified in this description can also be implemented over a wiredor wireless network connection and each of the subsystems, including theone or more processors 803, a mass storage device 804, an operatingsystem 805, communication software 806, communication data 807, anetwork adapter 808, the system memory 812, an Input/Output Interface810, a display adapter 809, a display device 811, and a human machineinterface 802, can be contained within one or more remote computingdevices 814 a,b,c at physically separate locations, connected throughbuses of this form, in effect implementing a fully distributed system.

The computer 801 typically comprises a variety of computer readablemedia. Exemplary readable media can be any available media that isaccessible by the computer 801 and comprises, for example and not meantto be limiting, both volatile and non-volatile media, removable andnon-removable media. The system memory 812 comprises computer readablemedia in the form of volatile memory, such as random access memory(RAM), and/or non-volatile memory, such as read only memory (ROM). Thesystem memory 812 typically contains data such as the communication data807 and/or program modules such as the operating system 805 and thecommunication software 806 that are immediately accessible to and/or arepresently operated on by the one or more processors 803.

In another aspect, the computer 801 can also comprise otherremovable/non-removable, volatile/non-volatile computer storage media.By way of example, FIG. 8 illustrates the mass storage device 804 whichcan provide non-volatile storage of computer code, computer readableinstructions, data structures, program modules, and other data for thecomputer 801. For example and not meant to be limiting, the mass storagedevice 804 can be a hard disk, a removable magnetic disk, a removableoptical disk, magnetic cassettes or other magnetic storage devices,flash memory cards, CD-ROM, digital versatile disks (DVD) or otheroptical storage, random access memories (RAM), read only memories (ROM),electrically erasable programmable read-only memory (EEPROM), and thelike.

Optionally, any number of program modules can be stored on the massstorage device 804, including by way of example, the operating system805 and the communication software 806. Each of the operating system 805and the communication software 806 (or some combination thereof) cancomprise elements of the programming and the communication software 806.The communication data 807 can also be stored on the mass storage device804. The communication data 807 can be stored in any of one or moredatabases known in the art. Examples of such databases comprise, DB2®,Microsoft® Access, Microsoft® SQL Server, Oracle®, mySQL, PostgreSQL,and the like. The databases can be centralized or distributed acrossmultiple systems.

In another aspect, the user can enter commands and information into thecomputer 801 via an input device (not shown). Examples of such inputdevices comprise, but are not limited to, a keyboard, pointing device(e.g., a “mouse”), a microphone, a joystick, a scanner, tactile inputdevices such as gloves, and other body coverings, and the like These andother input devices can be connected to the one or more processors 803via the human machine interface 802 that is coupled to the system bus813, but can be connected by other interface and bus structures, such asa parallel port, game port, an IEEE 1394 Port (also known as a Firewireport), a serial port, or a universal serial bus (USB).

In yet another aspect, the display device 811 can also be connected tothe system bus 813 via an interface, such as the display adapter 809. Itis contemplated that the computer 801 can have more than one displayadapter 809 and the computer 801 can have more than one display device811. For example, the display device 811 can be a monitor, an LCD(Liquid Crystal Display), or a projector. In addition to the displaydevice 811, other output peripheral devices can comprise components suchas speakers (not shown) and a printer (not shown) which can be connectedto the computer 801 via the Input/Output Interface 810. Any step and/orresult of the methods can be output in any form to an output device.Such output can be any form of visual representation, including, but notlimited to, textual, graphical, animation, audio, tactile, and the like.The display device 811 and computer 801 can be part of one device, orseparate devices.

The computer 801 can operate in a networked environment using logicalconnections to one or more remote computing devices 814 a,b,c. By way ofexample, a remote computing device can be a personal computer, portablecomputer, smartphone, a server, a router, a network computer, a peerdevice or other common network node, and so on. Logical connectionsbetween the computer 801 and a remote computing device 814 a,b,c can bemade via a network 815, such as a local area network (LAN) and/or ageneral wide area network (WAN). Such network connections can be throughthe network adapter 808. The network adapter 808 can be implemented inboth wired and wireless environments. Such networking environments areconventional and commonplace in dwellings, offices, enterprise-widecomputer networks, intranets, and the Internet.

For purposes of illustration, application programs and other executableprogram components such as the operating system 805 are illustratedherein as discrete blocks, although it is recognized that such programsand components reside at various times in different storage componentsof the computing device 801, and are executed by the one or moreprocessors 803 of the computer. An implementation of the communicationsoftware 806 can be stored on or transmitted across some form ofcomputer readable media. Any of the disclosed methods can be performedby computer readable instructions embodied on computer readable media.Computer readable media can be any available media that can be accessedby a computer. By way of example and not meant to be limiting, computerreadable media can comprise “computer storage media” and “communicationsmedia.” “Computer storage media” comprise volatile and non-volatile,removable and non-removable media implemented in any methods ortechnology for storage of information such as computer readableinstructions, data structures, program modules, or other data. Exemplarycomputer storage media comprises, but is not limited to, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by a computer.

The methods and systems can employ Artificial Intelligence techniquessuch as machine learning and iterative learning. Examples of suchtechniques include, but are not limited to, expert systems, case basedreasoning, Bayesian networks, behavior based AI, neural networks, fuzzysystems, evolutionary computation (e.g. genetic algorithms), swarmintelligence (e.g. ant algorithms), and hybrid intelligent systems (e.g.Expert inference rules generated through a neural network or productionrules from statistical learning).

While the methods and systems have been described in connection withpreferred embodiments and specific examples, it is not intended that thescope be limited to the particular embodiments set forth, as theembodiments herein are intended in all respects to be illustrativerather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anymethod set forth herein be construed as requiring that its steps beperformed in a specific order. Accordingly, where a method claim doesnot actually recite an order to be followed by its steps or it is nototherwise specifically stated in the claims or descriptions that thesteps are to be limited to a specific order, it is in no way intendedthat an order be inferred, in any respect. This holds for any possiblenon-express basis for interpretation, including: matters of logic withrespect to arrangement of steps or operational flow; plain meaningderived from grammatical organization or punctuation; the number or typeof embodiments described in the specification.

It will be apparent to those skilled in the art that variousmodifications and variations can be made without departing from thescope or spirit. Other embodiments will be apparent to those skilled inthe art from consideration of the specification and practice disclosedherein. It is intended that the specification and examples be consideredas exemplary only, with a true scope and spirit being indicated by thefollowing claims.

The invention claimed is:
 1. A method comprising: receiving, by a firstdevice associated with a first user, from a computing device, a contentidentifier associated with a content item, a position of an event withinthe content item, and a message associated with a second user of asecond device; determining, based on a comparison of the contentidentifier and an identifier of the content item, that the first deviceis causing output of the content item; and based on determining that thefirst device is causing output of the content item and the content itemis at the position of the event during the output of the content item,causing the first device to output the message.
 2. The method of claim1, wherein causing output of the message comprises displaying themessage on the first device.
 3. The method of claim 1, wherein causingoutput of the message comprises sending the message to a third deviceassociated with the first device for output on the third device.
 4. Themethod of claim 1, further comprising receiving, by the first device, alink to the content item.
 5. The method of claim 4, further comprisingcausing, by the first device, based on an activation of the link, outputof the content item.
 6. The method of claim 1, further comprisingdetermining, based on a current position of the content item beingoutput, that the first device has output a portion of the content itemassociated with the event.
 7. A method comprising: determining, by afirst user device associated with a first user, a content identifierassociated with a content item; receiving a message associated with thefirst user; generating a communication comprising the contentidentifier, a position of an event within the content item, and themessage; and sending the communication for output on a second deviceassociated with a second user, wherein the communication is configuredto cause the message to be stored at the second device until output ofthe event at the position within the content item at the second devicecauses the second device to output the message, wherein output of themessage is based on a comparison of the content identifier and anidentifier of the content item.
 8. The method of claim 7, whereindetermining the content identifier associated with the content itemcomprises determining the content item currently being output at thefirst user device.
 9. The method of claim 7, wherein the message isconcatenated with another portion of the communication.
 10. The methodof claim 7, further comprising receiving data indicating a user accountassociated with the second user, wherein the user account indicates atleast one device associated with the second user.
 11. The method ofclaim 10, wherein the data comprises at least one of an internetprotocol (IP) address, a media access control (MAC) address, a telephonenumber, a social networking account name, an email address, or a handle.12. The method of claim 7, further comprising determining that the firstuser device has completed an output of the content item, wherein sendingthe communication comprises sending, based on the determining that thefirst user device has completed the output of the content item, thecommunication for output on the second device.
 13. A method comprising:receiving, by a computing device, from a first device associated with afirst user, a content identifier, a position of an event within acontent item associated with the content identifier, and a messageassociated with the first user; and sending, to a second deviceassociated with a second user, the message, wherein the message isconfigured to be stored, at the second device, until the second deviceis causing output of the content item and the content item is at theposition of the event, causing the second device to output the messageduring the output of the content item, wherein output of the message isbased on a comparison of the content identifier and an identifier of thecontent item.
 14. The method of claim 13, further comprising generatinga communication comprising the content identifier, the position of theevent within the content item, and the message, wherein sending themessage comprises sending the communication.
 15. The method of claim 14,wherein generating the communication comprises concatenating the messageby the first user with at least one of the content identifier and theposition of the event within the content item.
 16. The method of claim13, further comprising: receiving, from the first device, dataindicating a user account associated with the second user; anddetermining, based on the user account, the second device associatedwith the second user.
 17. The method of claim 13, further comprising:receiving, from the first device, data indicating an identification ofthe second user, wherein sending the message comprises sending, based onreceiving the data indicating the identification of the second user, themessage to the second device.
 18. The method of claim 17, wherein thedata indicating the identification of the second user comprises a firstaddress associated with the second device and a second addressassociated with a third device associated with the second device. 19.The method of claim 13, further comprising generating a communication,wherein generating the communication comprises concatenating the messageby the first user with at least one of the content identifier and theposition of the event within the content item.
 20. The method of claim13, further comprising sending to the second device, the contentidentifier, wherein the second device causes, based on the contentidentifier, output of an indication of the content item.
 21. The methodof claim 13, further comprising receiving, by the second device andbased upon the first device completing output of the content item, thecontent identifier, the position of the event within the content itemassociated with the content identifier, and the message.